iT邦幫忙

2024 iThome 鐵人賽

DAY 1
0
AI/ ML & Data

調整AI超參數好煩躁?來試試看最佳化演算法吧!系列 第 1

[Day 1]關於這次鐵人賽…前言以及規劃

  • 分享至 

  • xImage
  •  

前言

大家好呀,過了一年,這一年我的生活過得蠻精彩的,也有考上理想的研究所(灑花)。也希望各位在自己的道路上都順順利利的。今年我想接續討論去年最後一天結語提到的最佳化演算法,這個方法在最佳化模型通常會帶來一些幫助。除此之外最佳化演算法在很多應用中都能夠見到他的身影。

以下是今年度這系列30天預計會討論的內容~

這系列文章分為四個階段:

  • 第一階段,最佳化演算法入門:這階段會讓各位與最佳化演算法破冰,大概知道有這個技術存在,接著會簡單的介紹
  • 第二階段,淺談最佳化演算法:這部分會開始由淺入深介紹最佳化演算法的一些小小細節以及相關的函式庫。另外也會介紹用於測試最佳化演算法效能的測試函數,以及程式的實現。最後會介紹一些比較基礎的演算法,它的特性跟原理。
  • 第三階段,介紹Optuna模組:這個模組帶領我度過了無數模型最佳化的難關,也成功避免了我訓練不出好的模型而被老師揶揄XD。所以我預計會花七天來介紹使用這個模組可以做到的一些應用,以及這模組使用到的TPE演算法。
  • 第四階段,介紹MealPy模組:這個模組是我在後續發現的新模組,裡面包含了大量的最佳化演算法,我也會帶各位使用這個模組來做一些相關的應用。

這30天的規劃

第一階段:最佳化演算法入門

D1:懶得動手調參數,用最佳化演算法自動訓練AI模型吧!

D2:最佳化演算法的5W1H

D3:當今的最佳化手段有甚麼?

第二階段:淺談最佳化演算法

D4:最佳化演算法介紹,流程等,特點 例如用於全局最佳或者局部最佳等等

D5:如何知道最佳化演算法的優劣?測試函數介紹

D6:定義測試函數 (1/3)

D7:定義測試函數 (2/3)

D8:定義測試函數 (3/3)

D9:最佳化演算法函式庫介紹—Optuna、MealPy、NiaPy

D10:swarm-based演算法(ABC、PSO etc.)

D11:進化基礎的演算法(GA、ES)

D12:生物基礎的演算法(待新增)

D13:人類基礎的演算法(待新增)

第三階段:介紹Optuna模組(7days)

D14:[Day 14]無痛入門!淺談Optuna最佳化

D15:由淺入深!介紹更多Optuna的API (1/2)

D16:由淺入深!介紹更多Optuna的API (2/2)

D17:打鐵趁熱!來試著使用Optuna解決問題吧

D18:Optuna的背後演算法,TPE介紹

D19:最佳化MLP、CNN

D20:最佳化GAN

D21:最佳化GAN

第四階段:介紹MealPy模組(7days)

D22:淺談MealPy進行測試函數最佳化

D23:基礎與舉例,用testing function測試最佳化過程

D24:進階API (停止條件等)

D25:視覺化、儲存模型、儲存最佳化過程

D26:最佳化MLP

D27:最佳化CNN

D28:最佳化GAN

D29:最佳化GAN

D30:其他深度學習網路最佳化應用。YOLO、keras內建最佳化、最佳化算法取代梯度下降與參數更新等。

D31:總結

本系列文的目標讀者

如果你是在做AI模型而且調整超參數調整到懷疑人生的苦主,那恭喜你,這系列的文章應該會很適合你。如果你是做其他應用例如尋找最短路徑、尋找最小成本的線性規劃問題等的最佳化問題,這篇文章或許沒辦法百分之百的適合你,但希望你可以從中獲得一些收穫。

若你看到數學會暈頭轉向,那你可以著重於這系列介紹程式的部分,今年的系列文章會著重於程式的撰寫,並輔以「億」點點的數學理論(不會很多,請放心食用)。希望各位能從這系列最佳化的系列文得到新的調參技能!

總結

俗話說:一位成功的人士背後一定會有一條脊椎XD,那我相信一個成功的深度學習模型背後應該也少不了模型最佳化。而模型最佳化也時常會使用最佳化演算法,或是超級考驗耐心的手動調整,不過部分情況會是兩個都用,確保模型的品質。明天我會來介紹最佳化算法的5W1H,讓各位可以更清楚實務上訓練模型通常會如何搭配最佳化演算法!
目前我正被研究所生活壓著打TT,希望能順利完賽囉!


下一篇
[Day 2]最佳化演算法的5W1H
系列文
調整AI超參數好煩躁?來試試看最佳化演算法吧!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言